//package com.shwread.android.qysw.activity;
//
//import android.content.ActivityNotFoundException;
//import android.content.Context;
//import android.content.Intent;
//import android.graphics.Bitmap;
//import android.net.Uri;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.provider.MediaStore;
//import android.text.Editable;
//import android.text.Selection;
//import android.text.TextWatcher;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.View.OnFocusChangeListener;
//import android.view.ViewGroup.LayoutParams;
//import android.view.inputmethod.InputMethodManager;
//import android.widget.Button;
//import android.widget.EditText;
//import android.widget.LinearLayout;
//import android.widget.RadioButton;
//import android.widget.RadioGroup;
//import android.widget.RadioGroup.OnCheckedChangeListener;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//
//import com.google.gson.reflect.TypeToken;
//import com.shwread.android.qysw10000133.R;
//import com.shwread.android.ui.dialog.HeaderImgDialog.OnUserinfoMenuClickListener;
//import com.shwread.android.ui.widget.LoadingView;
//import com.shwread.android.ui.widget.asyncimageview.SmartImageView;
//import com.shwread.http.ActionHelp;
//import com.shwread.http.base.Log;
//import com.shwread.http.base.ObjectHttpResponseHandler;
//import com.shwread.http.base.TextHttpResponseHandler;
//import com.shwread.http.util.JSONUtil;
//
//import org.apache.http.Header;
//import org.json.JSONException;
//
//import java.io.ByteArrayOutputStream;
//import java.io.File;
//import java.lang.reflect.Type;
//import java.util.List;
//import java.util.UUID;
//
//import logic.bean.RemainAmount;
//import logic.bean.TicketInfo;
//import logic.bean.UserAddressInfo;
//import logic.constants.Const;
//import logic.constants.DefaultConsts;
//import logic.util.MoneyUtil;
//import logic.util.MultiCard;
//import logic.util.SDcardUtil;
//import logic.util.Util;
//import logic.util.Utils;
//
//
///**
// * OrderMenuTicketActivity
// *
// * @Description：开发票界面
// * @Author：zhangdong
// * @Date：2015年6月17日下午2:53:38
// */
//public class OrderMenuTicketActivity
//        extends
//        BaseBusinessActivity
//        implements
//        OnClickListener,
//        OnUserinfoMenuClickListener,
//        TextWatcher
//{
//	private Context            context;
//	private LoadingView        loadingView;
//	private TextView           tvTitle, tvTotal, tvMoney,tvYuan, tvAddress;
//	private EditText           etMoney, etName, etNumber;
//	private RadioGroup         rgType;
//	private RadioButton        rbEnterprise, rbPerson;
//	private Button             btnBack, btnSure;
//	private SmartImageView     ivPhoto;
//	private LinearLayout       llBody, llMoney, llSaxNum, llAddress;
//	private RelativeLayout     rlHead;
//	private InputMethodManager inputManager;
//	private UserAddressInfo    addressInfo;
//	private final String       imageName    = "Ticket.jpg";
//	private boolean            isFirstPhoto = true;
//	private RemainAmount       remainAmount;
//
//	@Override
//	protected void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//
//		setContentView(R.layout.om_ticket);
//		this.context = this;
//		inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//		initView();
//		initLoadingView();
//		initData();
//		setListener();
//	}
//
//	private Handler handler = new Handler()
//	                        {
//		                        @Override
//		                        public void handleMessage(Message msg) {
//			                        switch (msg.what) {
//										case DefaultConsts.PERSONAL_UPDATEUI_FACE_UPDATE_HEAD:
//											Bitmap photo = msg.getData().getParcelable("data");
//											ByteArrayOutputStream stream = new ByteArrayOutputStream();
//											photo.compress(Bitmap.CompressFormat.JPEG, 100, stream);
//											if (photo != null)
//											{
//												byte[] photoData = Util.getImageDataByLimitSize(photo, 100, 5000); // 图片不能大于3k
//												// 释放图片
//												photo.recycle();
//												photo = null;
//												if (photoData != null)
//												{
//													try
//													{
//														final String path = SDcardUtil.getTempPath().getPath();
//														Util.byte2File(photoData, path, imageName);
//														//    	                    new UploadUserImageAction1(bActivity, path+"/"+imageName, new UploadImageAction()).start();
//														ActionHelp.uploadUserImage(context, path + "/" + imageName, new UploadImageHandler());
//													}
//													catch (Exception e)
//													{
//														System.out.println("上传图像，创建本地图片失败");
//														e.printStackTrace();
//													}
//													finally
//													{
//														photoData = null;
//													}
//												}
//												else
//												{
//													Util.showToast(context, "图片大小超过限制");
//												}
//											}
//											break;
//										default:
//											break;
//									}
//								}
//	                        };
//
//	private void setListener() {
//		btnBack.setOnClickListener(this);
//		llMoney.setOnClickListener(this);
//		rlHead.setOnClickListener(this);
//		ivPhoto.setOnClickListener(this);
//		llSaxNum.setOnClickListener(this);
//		llAddress.setOnClickListener(this);
//		btnSure.setOnClickListener(this);
//		etMoney.setOnFocusChangeListener(new OnFocusChangeListener()
//		{
//
//			@Override
//			public void onFocusChange(View v, boolean hasFocus) {
//				String totalMoney = tvTotal.getText().toString().trim();
//				Editable text = etMoney.getText();
//				Selection.setSelection(text, text.length()); //使光标置于末尾
//				String money = text.toString().trim();
//				/** 小于最低限额自动设为最低限额 */
//				if (!Utils.isEmpty(money) && Double.parseDouble(money) < remainAmount.getInvoiceLimit() / 100 && Double.parseDouble(totalMoney) >= remainAmount.getInvoiceLimit() / 100)
//				{
//					etMoney.setText(Utils.getOneMoneyFormat(MoneyUtil.divide(remainAmount.getInvoiceLimit(), 100)));
//					money = etMoney.getText().toString().trim();
//				}
//				/** 格式规范为100.0的形式 */
//				if (!hasFocus && Util.isNotEmpty(money))
//				{
//					if (!money.contains("."))
//					{ //例如100
//						money += ".0";
//					}
//					else if (money.length() - money.indexOf(".") == 1)
//					{ //例如100.
//						money += "0";
//					}
//					else if (money.length() - money.indexOf(".") >= 3)
//					{ //例如100.00
//						money = money.substring(0, money.indexOf(".") + 2);
//					}
//					etMoney.setText(money);
//				}
//			}
//		});
//		etMoney.addTextChangedListener(this);
//		etName.addTextChangedListener(this);
//		//		etNumber.addTextChangedListener(this);
//		tvAddress.addTextChangedListener(this);
//		rgType.setOnCheckedChangeListener(new OnCheckedChangeListener()
//		{
//
//			@Override
//			public void onCheckedChanged(RadioGroup group, int checkedId) {
//				if (checkedId == rbEnterprise.getId())
//				{
//					llSaxNum.setVisibility(View.VISIBLE);
//					ivPhoto.setVisibility(View.GONE);
//				}
//				else
//				{
//					llSaxNum.setVisibility(View.GONE);
//					ivPhoto.setVisibility(View.GONE);
//				}
//				setRadioButtonImg(rbEnterprise);
//				setRadioButtonImg(rbPerson);
//				etName.setText(etName.getText().toString());
//			}
//		});
//	}
//
//	@Override
//	protected void onResume() {
//		super.onResume();
//	}
//
//	private void initView() {
//		tvTitle = (TextView) findViewById(R.id.common_header_name);
//		btnBack = (Button) findViewById(R.id.common_header_back);
//		btnBack.setVisibility(View.VISIBLE);
//
//		llBody = (LinearLayout) findViewById(R.id.ll_om_ticket_body);
//		llBody.setVisibility(View.GONE);
//		loadingView = (LoadingView) findViewById(R.id.order_loading_view);
//		loadingView.setVisibility(View.VISIBLE);
//
//		tvTotal = (TextView) findViewById(R.id.tv_om_ticket_total_money);
//
//		llMoney = (LinearLayout) findViewById(R.id.ll_om_ticket_money);
//		etMoney = (EditText) findViewById(R.id.et_om_ticket_money);
//		tvMoney = (TextView) findViewById(R.id.tv_om_ticket_money);
//		tvYuan = (TextView) findViewById(R.id.tv_om_ticket_yuan);
//		tvYuan.setVisibility(View.GONE);
//
//		rgType = (RadioGroup) findViewById(R.id.rg_om_ticket);
//		rbEnterprise = (RadioButton) findViewById(R.id.rb_om_ticket_enterprise);
//		rbPerson = (RadioButton) findViewById(R.id.rb_om_ticket_person);
//		rbEnterprise.setChecked(true);
//		setRadioButtonImg(rbEnterprise);
//		setRadioButtonImg(rbPerson);
//
//		rlHead = (RelativeLayout) findViewById(R.id.rl_om_ticket_head);
//		etName = (EditText) findViewById(R.id.et_om_ticket_enterprise_name);
//		etName.setText("");
//		ivPhoto = (SmartImageView) findViewById(R.id.iv_om_ticket_camera);
//
//		llSaxNum = (LinearLayout) findViewById(R.id.ll_om_ticket_sax_number);
//		etNumber = (EditText) findViewById(R.id.et_om_ticket_sax_number);
//		etNumber.setText("");
//
//		llAddress = (LinearLayout) findViewById(R.id.ll_om_ticket_address);
//		tvAddress = (TextView) findViewById(R.id.tv_om_ticket_address);
//		tvAddress.setText("");
//
//		btnSure = (Button) findViewById(R.id.btn_om_ticket_sure);
//		btnSure.setEnabled(false);
//	}
//
//	private void initLoadingView() {
//		loadingView.setLoadingAnim(R.anim.home_progress);
//		loadingView.changeLoadingStatus(0);
//	}
//
//	private void setRadioButtonImg(RadioButton rBtn) {
//		if (rBtn.isChecked())
//		{
//			rBtn.setButtonDrawable(R.drawable.om_pay_zhifubao_selected);
//		}
//		else
//		{
//			rBtn.setButtonDrawable(R.drawable.om_pay_zhifubao_unselected);
//		}
//	}
//
//	private void initData() {
//		remainAmount = (RemainAmount) getIntent().getSerializableExtra("remainAmount");
//		if (remainAmount == null)
//		{
//			long storeId = getIntent().getLongExtra("storeId", 0);
//			ActionHelp.qryInvoiceRemainAmount(context, storeId, new GetRemainAmountHandler());
//		}
//		else
//		{
//			setTexts();
//		}
//	}
//
//	private class GetRemainAmountHandler
//	        extends
//	        ObjectHttpResponseHandler<List<RemainAmount>>
//	{
//
//		@Override
//		public Type getType() {
//			return new TypeToken<List<RemainAmount>>()
//			{
//			}.getType();
//		}
//
//		@Override
//		public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
//			Log.i(responseString);
//			if (statusCode < 1000)
//			{
//				Utils.ToastShow(context, "网络错误");
//			}
//			else
//			{
//				Utils.ToastShow(context, "请求出错");
//			}
//		}
//
//		@Override
//		public void onSuccess(int statusCode, Header[] headers, List<RemainAmount> object, String responseString) {
//			Log.i(responseString);
//			remainAmount = object.get(0);
//			setTexts();
//		}
//
//	}
//
//	private void setTexts() {
//		tvTitle.setText(remainAmount.getShopName());
//		tvTotal.setText(Utils.getOneMoneyFormat(MoneyUtil.divide(remainAmount.getRemainAmount(), 100)));
//		tvMoney.setText("最低开票金额" + Utils.getOneMoneyFormat(MoneyUtil.divide(remainAmount.getInvoiceLimit(), 100)) + "元");
//		InitAddressInfo();
//	}
//
//	private void InitAddressInfo() {
//		ActionHelp.qryUserDeliveryAddress(context, true, new DefaultAddressHandler());
//	}
//
//	@Override
//	public void onClick(View v) {
//		switch (v.getId()) {
//			case R.id.common_header_back:
//				Utils.hideInputMethodManager(inputManager, etMoney);
//				Utils.hideInputMethodManager(inputManager, etName);
//				this.finish();
//				break;
//			case R.id.ll_om_ticket_money:
//				etMoney.setFocusable(true);
//				etMoney.setFocusableInTouchMode(true);
//				if (etMoney.requestFocus() || etMoney.requestFocusFromTouch())
//				{
//					inputManager.showSoftInput(etMoney, InputMethodManager.SHOW_IMPLICIT);
//				}
//				break;
//			case R.id.rl_om_ticket_head:
//				etName.setFocusable(true);
//				etName.setFocusableInTouchMode(true);
//				if (etName.requestFocus() || etName.requestFocusFromTouch())
//				{
//					inputManager.showSoftInput(etName, InputMethodManager.SHOW_IMPLICIT);
//				}
//				break;
//			case R.id.iv_om_ticket_camera:
//				Utils.hideInputMethodManager(inputManager, etMoney);
//				Utils.hideInputMethodManager(inputManager, etName);
//				openCamera();
//				break;
//			case R.id.ll_om_ticket_sax_number:
//				etNumber.setFocusable(true);
//				etNumber.setFocusableInTouchMode(true);
//				if (etNumber.requestFocus() || etNumber.requestFocusFromTouch())
//				{
//					inputManager.showSoftInput(etNumber, InputMethodManager.SHOW_IMPLICIT);
//				}
//				break;
//			case R.id.ll_om_ticket_address:
//				Utils.hideInputMethodManager(inputManager, etMoney);
//				Utils.hideInputMethodManager(inputManager, etName);
//				Intent inten = new Intent(context, AddressInfoListActivity.class);
//				inten.putExtra(DefaultConsts.FROM_TYPE, ConfirmOrderActivity.ADDRESS_REQUEST_CODE);
//				startActivityForResult(inten, ConfirmOrderActivity.ADDRESS_REQUEST_CODE);
//				break;
//			case R.id.btn_om_ticket_sure:
//				etMoney.clearFocus();
//				Utils.hideInputMethodManager(inputManager, etMoney);
//				Utils.hideInputMethodManager(inputManager, etName);
//				String price = etMoney.getText().toString().trim();
//				String top = etName.getText().toString().trim();
//				int type = rbEnterprise.isChecked() ? 2 : 1;
//				String number = etNumber.getText().toString().trim();
//				TicketInfo info = new TicketInfo();
//				info.setPrice((long) ((Double.parseDouble(price) * 100)));
//				info.setBillTop(top);
//				info.setBillType(type);
//				info.setBillNo(number);
//				info.setDeliveryAddress(addressInfo);
//				info.setShopId(remainAmount.getShopId());
//				ActionHelp.invoiceForUser(context, Util.getJsonStringByEntity(info), new SubmitTicketHandler());
//				break;
//			default:
//				break;
//		}
//	}
//
//	@Override
//	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//		switch (requestCode) {
//			case ConfirmOrderActivity.ADDRESS_REQUEST_CODE:
//				if (data != null)
//				{
//					addressInfo = (UserAddressInfo) data.getExtras().get(DefaultConsts.ADDRESS_LIST);
//					tvAddress.setText(addressInfo.getProvinceName() + addressInfo.getCityName() + addressInfo.getAreaName() + addressInfo.getStreetName() + addressInfo.getDetailAddress());
//				}
//				break;
//			case Const.CAPTURE_IMAGE:
//				Intent intent = new Intent("com.android.camera.action.CROP");
//				Bundle extras = new Bundle();
//				extras.putString("crop", "true");
//				//				extras.putInt("aspectX", 1);
//				extras.putInt("aspectY", 1);//这里的File文件可以是通过系统相册选取的，也可以是位于存储卡中任何一副图片文件
//				intent.putExtra("outputX", 100 * 88 / 64);
//				intent.putExtra("outputY", 100);
//				intent.setDataAndType(Uri.fromFile(mImageFile), "image/jpeg");
//				intent.putExtras(extras);
//				intent.putExtra("noFaceDetection", true);
//				intent.putExtra("return-data", true);
//				startActivityForResult(intent, Const.CROP_IMAGE);
//				break;
//			case Const.CROP_IMAGE:
//				if (data == null) return;
//				goCropImage(requestCode, data);
//				break;
//		}
//		super.onActivityResult(requestCode, resultCode, data);
//	}
//
//	public static File mImageFile; //图片文件
//
//	@Override
//	public void openCamera() {
//		if (Util.isSDCardSapceForWriteWithTip(context, MultiCard.TYPE_IMAGE, 0, true)) { return; }
//		Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//		String fileName = UUID.randomUUID().toString() + ".jpg";
//		mImageFile = new File(Util.getWritePathIgnoreError(fileName));
//		Uri capturedImgUri = Uri.fromFile(mImageFile);
//		intent.putExtra(MediaStore.EXTRA_OUTPUT, capturedImgUri);
//		try
//		{
//			Intent wrapperIntent = Intent.createChooser(intent, null);
//			startActivityForResult(wrapperIntent, Const.CAPTURE_IMAGE);
//		}
//		catch (ActivityNotFoundException e)
//		{
//			Util.showToast(context, "您的手机没有摄像头");
//		}
//
//	}
//
//	@Override
//	public void openLocal() {
//
//	}
//
//	/**
//	 * 裁切图片
//	 */
//	private void goCropImage(int requestCode, Intent data) {
//		Bundle extras = data.getExtras();
//		if (extras != null)
//		{
//			Message msg = Message.obtain();
//			msg.setData(extras);
//			msg.what = DefaultConsts.PERSONAL_UPDATEUI_FACE_UPDATE_HEAD;
//			handler.sendMessage(msg);
//		}
//	}
//
//	private class UploadImageHandler
//	        extends
//	        TextHttpResponseHandler
//	{
//
//		@Override
//		public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
//
//		}
//
//		@Override
//		public void onSuccess(int statusCode, Header[] headers, String responseString) {
//			try
//			{
//				if (Util.isEmpty(JSONUtil.getString(responseString))) return;
//				if (isFirstPhoto)
//				{
//					LayoutParams layoutParams = ivPhoto.getLayoutParams();
//					layoutParams.width = layoutParams.height * 88 / 64;
//					ivPhoto.setLayoutParams(layoutParams);
//					isFirstPhoto = false;
//				}
//				ivPhoto.setImageUrl(JSONUtil.getString(responseString), R.drawable.om_ticket_camera_selector, R.drawable.om_ticket_camera_selector);
//			}
//			catch (JSONException e)
//			{
//				e.printStackTrace();
//			}
//		}
//
//	}
//
//	private class SubmitTicketHandler
//	        extends
//	        ObjectHttpResponseHandler<String>
//	{
//		@Override
//		public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
//			if (statusCode < 1000)
//			{
//				Utils.ToastShow(context, "网络错误");
//			}
//			else
//			{
//				Utils.ToastShow(context, "请求出错");
//			}
//		}
//
//		@Override
//		public void onSuccess(int statusCode, Header[] headers, String object, String responseString) {
//			Log.i(responseString);
//			Intent i = new Intent(context, OrderMenuTicketMainActivity.class);
//			startActivity(i);
//			OrderMenuTicketActivity.this.finish();
//		}
//
//		@Override
//		public Type getType() {
//			return new TypeToken<String>()
//			{
//			}.getType();
//		}
//	}
//
//	private class DefaultAddressHandler
//	        extends
//	        ObjectHttpResponseHandler<List<UserAddressInfo>>
//	{
//
//		@Override
//		public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
//
//		}
//
//		@Override
//		public void onSuccess(int statusCode, Header[] headers, List<UserAddressInfo> object, String responseString) {
//			Log.i(responseString);
//			loadingView.setVisibility(View.GONE);
//			llBody.setVisibility(View.VISIBLE);
//			addressInfo = object.get(0);
//			tvAddress.setText(addressInfo.getProvinceName() + addressInfo.getCityName() + addressInfo.getAreaName() + addressInfo.getStreetName() + addressInfo.getDetailAddress());
//		}
//
//		@Override
//		public Type getType() {
//			return new TypeToken<List<UserAddressInfo>>()
//			{
//			}.getType();
//		}
//
//	}
//
//	@Override
//	public Handler getUIHandler() {
//		return handler;
//	}
//
//	@Override
//	public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//		// TODO Auto-generated method stub
//
//	}
//
//	@Override
//	public void onTextChanged(CharSequence s, int start, int before, int count) {
//		// TODO Auto-generated method stub
//
//	}
//
//	@Override
//	public void afterTextChanged(Editable s) {
//		String totalMoney = tvTotal.getText().toString().trim();
//		String money = etMoney.getText().toString().trim();
//		String head = etName.getText().toString().trim();
//		String number = etNumber.getText().toString().trim();
//		String address = tvAddress.getText().toString().trim();
//		if(!Utils.isEmpty(money))
//		{
//			tvMoney.setVisibility(View.GONE);
//			tvYuan.setVisibility(View.VISIBLE);
//		}
//		else
//		{
//			tvMoney.setVisibility(View.VISIBLE);
//			tvYuan.setVisibility(View.GONE);
//		}
//		/** 超出可开票金额时，自动设为可开票金额 */
//		if (!Utils.isEmpty(money) && Double.parseDouble(money) > Double.parseDouble(totalMoney))
//		{
//			etMoney.setText(totalMoney);
//			/** 使光标置于末尾 */
//			etMoney.clearFocus();
//			etMoney.requestFocus();
//			etMoney.requestFocusFromTouch();
//		}
//		if (Util.isEmpty(money) || Util.isEmpty(head) || Util.isEmpty(address))
//		{
//			btnSure.setEnabled(false);
//		}
//		else
//		{
//			money = etMoney.getText().toString().trim();
//			if (Double.parseDouble(money) == 0)
//			{
//				btnSure.setEnabled(false);
//			}
//			else
//			{
//				if (Double.parseDouble(money) < remainAmount.getInvoiceLimit() / 100)
//				{
//					btnSure.setEnabled(false);
//				}
//				else
//				{
//					btnSure.setEnabled(true);
//				}
//			}
//		}
//	}
//
//}
